
# 两数之和



class Solution:

    def twoSum(self, nums, target):
        
        # 暴力搜索
        # n = len(nums)
        # for i in range(n - 1):
        #     # 这样做不行，会出现复数
        #     # if nums[i] > target:
        #     #     continue
        #     for j in range(i + 1, n):
        #         if nums[i] + nums[j] == target:
        #             return i, j


        # 使用哈希表进行搜索
        idx = {}
        for j, x in enumerate(nums):

            # 这里比较巧妙的地方是 两个数一定有一个数先存储到字典中！
            if target - x in idx:
                return [idx[target - x], j]
            
            idx[x] = j





